define(function (require, exports, module) {         
    /**
     * Enum for events of reader.
     * @namespace
     * @memberOf WebPDF
     */
    WebPDF.EventList = {
        /**
         * A jQuery event bound on the app instance, triggered when the reader is ready, before a document is loaded.
         * @example
         *   viewer.on(WebPDF.EventList.APP_READY,function(event, data){
         *      alert('App ready.');
         *   })
         * */
        APP_READY: 'ready',

        /**
         * Trigger when user scrolls and the page is visible.
         * @example
         *  viewer.on(WebPDF.EventList.PAGE_VISIBLE, function(event, data){
         *     console.log("visible pages:" + data.pages);
         *     console.log(data.contentPanelWidth);
         *     console.log(data.contentPaneHeight);
         *     console.log(data.contentPanelOffset);
         *  }
        * */
        PAGE_VISIBLE: 'pageVisible',
        /**
         * Trigger when the page becomes invisible
         * @example
         *  viewer.on(WebPDF.EventList.PAGE_INVISIBLE, function(event, data){
         *     console.log("invisible pages:" + data.pages);
         *  }
         * */
        PAGE_INVISIBLE: 'pageInVisible',
        /**
         * Trigger when the background of the page has been display.
         * @example
         *   viewer.on(WebPDF.EventList.PAGE_SHOW_COMPLETE,function(event, data){
         *      alert('Current page index:' + data.pageView.getPageIndex());
         *   })
         * */
        PAGE_SHOW_COMPLETE: 'pageShowComplete',

        /**
         *  Trigger when the document has been loaded.
         * @example
         *   viewer.on(WebPDF.EventList.DOCUMENT_LOADED,function(event, data){
         *      alert('document loaded.');
         *   })
         *   */
        DOCUMENT_LOADED: 'documentLoaded',
        /**
         *  Trigger before the size of the viewing area changed.
         *  @example
         *   viewer.on(WebPDF.EventList.DOCVIEW_PRE_RESIZE,function(event, data){
         *      alert('doc view pre resize.');
         *   })
         *   */
        DOCVIEW_PRE_RESIZE: 'docViewPreResize',
        /**
         *  Trigger when the size of the viewing area changed.
         *  @example
         *   viewer.on(WebPDF.EventList.DOCVIEW_RESIZE,function(event, data){
         *      alert('doc view resized.');
         *   })
         *   */
        DOCVIEW_RESIZE: 'docViewResized',
        /**
         *  Trigger when user scrolls.
         *  @example
         *   viewer.on(WebPDF.EventList.docViewScroll,function(event,data){
         *      alert('doc view scrolls');
         *   })
         *   */
        DOCVIEW_SCROLL: 'docViewScroll',
        /**
         *  Trigger when the zoom level of viewer changed.
         * @example
         *   viewer.on(WebPDF.EventList.DOCVIEW_ZOOM_CHANGED,function(event,data){
         *      alert('Old scale:' + data.oldScale + ', New scale:' + data.newScale);
         *   })
         */
        DOCVIEW_ZOOM_CHANGED: 'docViewZoomChanged',
        /**
         * Trigger when the current page index changed.
         * @example
         *  viewer.on(WebPDF.EventList.DOCVIEW_PAGE_CHANGED,function(event,data){
         *      alert('Old page index:' + data.oldIndex + ', New page index:' + data.curIndex);
         *  })
         * */
        DOCVIEW_PAGE_CHANGED: 'pageChanged',
        /**
         *  Trigger when the size of the mainframe area changed.
         *  */
        MAINFRAME_RESIZE: 'mainframeResized',
        /**
         *  Trigger when current tool has been changed.
         * @example
         *  viewer.on(WebPDF.EventList.TOOL_CHANGED,function(event,data){
         *      alert('name of old tool:' + data.oldToolName + ', name of new tool:' + data.newToolName);
         *  })
         * */
        TOOL_CHANGED: 'toolChanged',
        /**
         * Trigger when modification state of current document changed.
         * @private
         * @example
         *  viewer.on(WebPDF.EventList.DOC_MODIFY_STATE_CHANGED,function(event,isModified){
         *      alert('Is modified:' + isModified);
         *  })
         */
        DOC_MODIFY_STATE_CHANGED: 'docModified'
    };
    
    return WebPDF.EventList;
})